A WebChucK-powered platform for live music performance and manipulation.
Keyboard Live Sampler is a browser-based platform for real-time music performance and manipulation, built using WebChucK. Our inspiration is physical hardware samplers that give users the ability to record, edit, and perform audio directly on the keyboard.
The system includes a smart recording engine that automatically detects audio onsets, quantizes loops to a global tempo, and supports real-time transformations such as mixing, concatenation, reversing, pitch shifting, and applying reverb.
Key F) to sequence samples or Mix (Key G) to layer them.The project follows a hybrid architecture, using HTML/JavaScript for the interface and ChucK for audio processing.
The visual interface manages user interactions, file decoding, and status indicators.
script.js file initializes the WebChucK instance. It handles the AudioContext to decode uploaded files into raw PCM data (Float32Array) before sending them to the ChucK engine via the loadBuffer global array.The core logic resides in main.ck
runClock(): Maintains the global tempo.monitorMic(): Analyzes input volume for visualization.bufferLoaderLoop(): Receives sample data from JavaScript.0, ensuring that new recordings completely replace old data (Tape Recorder behavior) rather than overdubbing.